class Solider:
    def __init__(self, dt, t, v, x, y):
        self.dt = dt
        self.t = t
        self.v = v
        self.x = x
        self.y = y

# 一个时间点其中一个士兵和他的子弹的位置
def change(tim, s):
    # 士兵站的位置不能走
    a_[s.x][s.y][tim] = True
    # 计算一下当前时间士兵能发几颗子弹
    c = tim // s.t + 1
    f = tim % s.t
    for i in range(c):
        # 距离 = 时间 * 速度
        d = (i * s.t + f) * s.v
        # 计算每个方向对应的新的位置
        N, S, W, E = s.x - d, s.x + d, s.y - d, s.y + d
        # 判断方向并赋值。（其实好像应该先判断方向再计算距离，不过相差不大吧。。）
        if s.dt == 'N':
            if N >= 0: a_[N][s.y][tim] = True
            else: break
        if s.dt == 'S':
            if S <= n: a_[S][s.y][tim] = True
            else: break
        if s.dt == 'W':
            if W >= 0: a_[s.x][W][tim] = True
            else: break
        if s.dt == 'E':
            if E <= m: a_[s.x][E][tim] = True
            else: break

def bfs():
    # 比正常的四个方位多了一个原位不动
    xx, yy = [1, 0, -1, 0, 0], [0, 1, 0, -1, 0]
    from collections import deque
    Q = deque([(0, 0, 0)]) # x, y, tim
    while Q:
        q = Q.popleft()
        if q[:2] == (n, m): return q[2] # 到终点了，则成功，输出时间
        if q[2] == d: continue # 能量耗尽且没到终点，则失败，不用进行下一轮了。
        for i in range(5):
            tx, ty, tt = q[0] + xx[i], q[1] + yy[i], q[2] + 1
            # 不样出界
            if tx < 0 or ty < 0 or tx > n or ty > m: continue
            # 不样撞士兵和子弹，不样在同一时间出现在之前出现过的点
            if a_[tx][ty][tt] or b_[tx][ty][tt]: continue
            # 设置 True 代表当前时间当前位置已经走过了！
            b_[tx][ty][tt] = True
            # 把新元素插入队列
            Q.append((tx, ty, tt)) 
    return "Bad luck!"

# n, m是地图，k是士兵个数，d是能量（时间）
n, m, k, d = map(int, input().split())
# 士兵列表，存放士兵位置
a = [i for i in range(k)]
# 地图上每个点每秒的状态，初始全为Fasle
a_ = [[[False for l in range(d + 1)] for j in range(m + 1)] for i in range(n + 1)]
# 标记数组，标记这个位置走没走过
b_ = [[[False for l in range(d + 1)] for j in range(m + 1)] for i in range(n + 1)]
for i in a:
    # dt是射击方向、t是周期、v是速度、x, y是位置。
    dt, t, v, x, y = input().split()
    a[i] = Solider(dt, int(t), int(v), int(x), int(y))
# 更新每个时间的地图的障碍情况
for i in range(d):
    for j in a:
        change(i, j)
print(bfs())

# 想也知道，超时！！
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
